#ifndef GY_GRAPHICSBEZIERITEM_H
#define GY_GRAPHICSBEZIERITEM_H

#include "Graphics/BasicGraphics/GY_BasicsGraphicsObject.h"

class GY_CONTROLLIBRARY_EXPORT GY_GraphicsBezierItem : public GY_BasicsGraphicsObject
{
    Q_OBJECT

public:
    explicit Q_INVOKABLE GY_GraphicsBezierItem(const QString &guid,QGraphicsItem *parent = nullptr);
    ~GY_GraphicsBezierItem(){}

private:
    /**
     * @brief initializationPropertyInfo 初始化属性信息
     */
    void initializationPropertyInfo();
    /**
     * @brief updatePrecision 更新曲线精度(1~100)
     * @param name 属性名称
     * @param value 属性值
     * @return 是否更新成功
     */
    bool updatePrecision(const QString &name, const QVariant &value);
    /**
     * @brief updatePoint 更新name点位置
     * @param name 属性名称
     * @param value 属性值
     * @return 是否更新成功
     */
    bool updatePoint(const QString &name, const QVariant &value);
    /**
     * @brief updatePath 更新路径
     */
    void updatePath();

};

#endif // GY_GRAPHICSBEZIERITEM_H
